﻿#ifndef DEVICEPARAMDLG_H
#define DEVICEPARAMDLG_H

#include "db_cfg_g_def.h"
#include "DbCfgFun.h"
#include <QListWidget>
#include <QListWidgetItem>
#include <QString>
#include <QVariant>
#include <QDialog>
#include <QComboBox>
#include <QLineEdit>
#include <QMessageBox>
#include "GetColumnInfo.h"

#pragma once

namespace Ui 
{
    class DeviceParamDlg;
}

class DeviceParamDlg : public QDialog 
{
    Q_OBJECT
public:
    DeviceParamDlg(QWidget *parent = 0);
    ~DeviceParamDlg();

public:
/*	函数：	GetDeviceModelInfo()
	用途：	获取设备模板信息
	输入：
	返回：	*/
	int		GetDeviceModelInfo();

/*	函数：	InitDevModeInfoShow()
	用途：	显示设备模板信息
	输入：
	返回：	*/
	void	InitDevModeInfoShow();

/*	函数：	InitListShow()
	用途：	初始化设备模板列表显示
	输入：
	返回：	*/
	void	InitListShow();

/*	函数：	InsertDevice()
	用途：	插入设备
	输入：
	返回：	*/
	int		InsertDeviceParam();

/*	函数：	InsertYx()
	用途：	插入遥信
	输入：
	返回：	*/
	int		InsertYx_New(unsigned int ModelId);
	int		InsertYc_New(unsigned int ModelId);
	int		InsertYk_New(unsigned int ModelId);
	int		InsertYm_New(unsigned int ModelId);
	int		InsertBhYc(unsigned int ModelId);
	int		InsertRyb(unsigned int ModelId);
	int		InsertSet(unsigned int ModelId);
	int		InsertParam(unsigned int ModelId);
	int		InsertPrec(unsigned int ModelId);
	int		InsertSetArea(unsigned int ModelId);

protected slots:
/*	函数：	DevModelClicked()
	用途：	选择设备模板
	输入：
	返回：	*/
	void	DevModelClicked(QListWidgetItem *pItem);

/*	函数：	CheckDeviceParam()
	用途：	判断设备参数
	输入：
	返回：	*/
	void	CheckDeviceParam();

	int		ClearDeviceParam();
protected:
    void changeEvent(QEvent *e);

protected:
	unsigned int	m_DevModelId;
	int				m_YxNum;
	int				m_YcNum;
	int				m_YkNum;
	int				m_YmNum;
	int				m_SetNum;
	int				m_BhycNum;
	int				m_ParaNum;
	int				m_PrecNum;
	int				m_RybNum;
	int				m_SetAreaNum;
//	char	m_ProtectType;

//	unsigned int	m_ParentId;
//	unsigned int	m_RtuId;
//	int	m_DeviceAddr;
//	QString	m_DeviceName;
//	QString	m_DevByName;

//	bool	m_bAppendDevNameFlag;
//	bool	m_bAddYxStateFlag;
//	bool	m_bAddGooseFlag;
protected:
	GetColumnInfo	m_ColInfo;

	char		 m_sql[SQL_MAX_LEN];
	char		 m_Dsql[SQL_MAX_LEN*2];
private:
	Ui::DeviceParamDlg *ui;

//	DbCfgFun		g_DbCfgFunObj;

};

#endif // DEVICEDLG_H
